::selection {
	color: #fff;
	background: #320aeb;
}

* {
	box-sizing: border-box;
}

/*!
Typeplate : Starter Kit
URL ........... http://typeplate.com
Version ....... 3.0.2
Github ........ https://github.com/typeplate/starter-kit
Authors ....... Dennis Gaebel (@gryghostvisuals) & Zachary Kain (@zakkain)
License ....... Creative Commmons Attribution 3.0
License URL ... https://github.com/typeplate/starter-kit/blob/master/license.txt
*/
.typl8-alpha,
.typl8-beta,
.typl8-delta,
.typl8-epsilon,
.typl8-gamma,
.typl8-giga,
.typl8-mega,
.typl8-tera,
.typl8-zeta,
h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1;

	margin-top: 0;

	color: #320aeb;
	text-rendering: optimizelegibility;
}

blockquote + figcaption cite {
	font-size: inherit;

	display: block;

	text-align: right;
}

body {
	word-wrap: break-word;

	color: #444;
}

pre code {
	white-space: -moz-pre-wrap;
	white-space: pre-wrap;
	word-wrap: normal;
}

html {
	font: 112.5%/1.65 sans-serif;
}

.typl8-tera {
	font-size: 4.3em;

	margin-bottom: 3.93939rem;
}

.typl8-giga {
	font-size: 3.583em;

	margin-bottom: 3.0303rem;
}

.typl8-mega,
h1 {
	font-size: 2.986em;

	margin-bottom: 2.42424rem;
}

.typl8-alpha,
h2 {
	font-size: 2.488em;

	margin-bottom: 2.0202rem;
}

.typl8-beta,
h3 {
	font-size: 2.074em;

	margin-bottom: 1.61616rem;
}

.typl8-gamma,
h4 {
	font-size: 1.728em;

	margin-bottom: 1.21212rem;
}

.typl8-delta,
h5 {
	font-size: 1.44em;

	margin-bottom: 0.80808rem;
}

.typl8-epsilon {
	font-size: 1.2em;

	margin-bottom: 0.70707rem;
}

.typl8-zeta,
h6 {
	font-size: 1em;

	margin-bottom: 0.60606rem;
}

p {
	margin: auto auto 1.5rem;
}

small {
	font-size: 65%;
}

abbr,
acronym,
blockquote,
code,
input,
kbd,
q,
samp,
var {
	hyphens: none;
}

code,
pre {
	white-space: pre;
}

code {
	font-family: monospace;
}

abbr {
	font-weight: 600;
	-webkit-font-variant: small-caps;
	-moz-font-variant: small-caps;
	-ms-font-variant: small-caps;
	font-variant: small-caps;

	text-transform: lowercase;

	color: gray;
}

abbr[title]:hover {
	cursor: help;
}

.typl8-drop-cap::first-letter {
	font-family: inherit;
	font-size: 4em;
	line-height: 1;

	float: left;

	margin: 10px 10px 0 0;
	padding: 0 20px;

	text-indent: 0;

	color: inherit;
	background: 0 0;
}

p + .typl8-drop-cap {
	margin-top: 0;

	text-indent: 0;
}

.typl8-lining dd,
.typl8-lining dt {
	display: inline;

	margin: 0;
}

.typl8-lining dd + dt::before,
.typl8-lining dt + dt::before {
	content: "\A";
	white-space: pre;
}

.typl8-lining dd + dd::before {
	content: ", ";
}

.typl8-lining dd::before {
	margin-left: -0.2rem;

	content: ": ";
}

.typl8-dictionary-style dt {
	display: inline;

	counter-reset: definitions;
}

.typl8-dictionary-style dt + dt::before {
	margin-left: -0.2rem;

	content: ", ";
}

.typl8-dictionary-style dd {
	display: block;

	counter-increment: definitions;
}

.typl8-dictionary-style dd::before {
	content: counter(definitions, decimal) ". ";
}

.typl8-pull-quote {
	position: relative;

	padding: 1em;
}

.typl8-pull-quote::after,
.typl8-pull-quote::before {
	font-size: 4em;

	position: absolute;

	height: 1em;

	opacity: 0.5;
	color: #dc976e;
}

.typl8-pull-quote::before {
	top: 0;
	left: 0;

	content: "“";
}

.typl8-pull-quote::after {
	right: 0;
	bottom: 0;

	content: "”";
}

body,
html {
	height: 100%;
	margin: 0;
	padding: 0;
	text-size-adjust: 100%;
}

body {
	font-family: Montserrat, "Helvetica Neue", Verdana, Arial, sans-serif;
	font-weight: 400;
}

body::after,
body::before {
	position: fixed;
	z-index: 999;
	top: 0;
	bottom: 0;

	width: 0;

	content: " ";

	border-style: double;
	border-color: #ff7629;
}

body::after {
	right: 5px;

	border-width: 0 15px 0 0;
}

body::before {
	left: 5px;

	border-width: 0 0 0 15px;
}

.small-screen {
	display: none;
	visibility: hidden;
}

a {
	position: relative;

	text-decoration: none;

	color: #320aeb;
	border-bottom: 3px double;
}

a,
a:hover {
	transition: 100ms color ease;
}

svg.nope {
	position: absolute;
	z-index: -999;

	width: 0;
	height: 0;
}

.profile {
	float: left;
	overflow: hidden;

	width: 25%;
	margin: 0 1em 1em;
}

.split {
	display: block;
	overflow: hidden;

	width: 100%;
	height: 0;
}

.logo img,
main img:hover {
	filter: none;
}

main img.left {
	float: left;

	max-width: 28vw;
	margin: 0 1em 1em 0;
}

main img.center {
	display: block;
	float: none;

	margin: 1em auto;
}

main img.right {
	float: right;

	max-width: 28vw;
	margin: 0 0 1em 1em;
}

#content ol,
#content ul {
	padding: 0;

	text-align: left;
}

#content ol {
	margin: 0;
}

#content ol ul,
#content ul ol,
#content ul ul {
	margin-top: 0;
}

[class*="cont"] {
	display: block;
	float: left;
}

.cont1-2 {
	width: 50%;
}

.cont1-4 {
	width: 25%;
}

.cont3-4 {
	width: 75%;
}

.cont1-3 {
	width: calc(1 / 3 * 100%);
}

.cont2-3 {
	width: calc(2 / 3 * 100%);
}

.pod-body {
	font-size: 1em;

	padding: 0;
}

#org_title,
#topnav {
	border-bottom: 1px solid #fff;
}

#topnav {
	font-size: 11pt;

	width: 100%;
	height: 15px;
	padding: 5px 0;

	color: #fff;
	background-color: #777877;
}

#topnav ul {
	width: 960px;
	margin: 0 auto;
	padding: 0;

	text-align: right;
}

#topnav ul li {
	display: inline;

	padding: 0 10px;

	list-style-type: none;
}

#topnav a,
#topnav a:hover,
a:hover {
	text-decoration: none;

	color: #fff;
}

#topnav a:hover {
	color: #ff7629;
}

header {
	position: fixed;
	z-index: 200;
}

.hole,
.logo {
	position: absolute;
	z-index: 300;
	top: 2.5vw;
	left: 3.25vw;

	overflow: hidden;

	width: 15vw;
	height: 15vw;
	margin: 0 20px 0 0;
	padding: 5.5vw 0;

	border-radius: 40vw;
}

.logo.load {
	z-index: 10;
	top: 0;
	left: 0;

	width: 100vw;
	height: 100vh;
	padding: 45vh 0 0;

	border-radius: 0;
}

#navigation ul,
.hole {
	padding: 0;
}

.logo img {
	position: relative;

	display: block;

	width: 80%;
	max-width: 300px;
	margin: auto;
	filter: none !important;
}

.logo-hover.spin {
	animation: barberpole 0.5s linear infinite;
}

.logo-hover {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(
		-45deg,
		#f26529 25%,
		transparent 25%,
		transparent 50%,
		#f26529 50%,
		#f26529 75%,
		transparent 75%,
		transparent
	);
	background-attachment: fixed;
	background-size: 6px 6px;
}

#org_title {
	float: left;

	width: 760px;
	height: inherit;
	margin: 0 auto;

	background-color: #00aee5;
	background-repeat: no-repeat;
}

#org_title h1 {
	font-size: 27pt;
	font-weight: 400;

	padding-top: 25px;
	padding-left: 20px;

	color: #fff;
}

#navigation {
	position: fixed;
	top: 20vw;
	left: 3.7vw;

	width: 14vw;
	padding: 0;

	vertical-align: middle;
}

.main-nav-scrolled {
	position: fixed;
	top: 0;

	width: 100%;
	transition: 300ms;
	transition-timing-function: cubic-bezier(0.87, -0.41, 0.19, 1.44);
}

#navigation ul li {
	font-size: 1em;
	font-weight: 700;

	float: left;

	width: 100%;
	margin: 12px 0;

	list-style-type: none;

	text-align: left;
}

#navigation ul li a {
	font-weight: 700;

	z-index: 10;

	display: block;

	margin: 0 5px 0 0;
	padding: 5px 10px;

	text-align: center;

	color: #ff7629;
	border: 2px solid;
}

#navigation ul li a:hover {
	color: #ff7629;
	background: 0 0;
}

#navigation ul li a::before,
#navigation ul li a:hover::before,
a::before,
a:hover::before {
	bottom: 0;
	transition: height 0.1s ease-out, top 0.1s ease-out, bottom 0.1s ease-out;
}

#navigation ul li a::before,
a::before {
	position: absolute;
	z-index: -2;
	left: 0;

	width: 100%;
	height: 0;

	content: " ";

	background: #320aeb;
}

#navigation ul li a:hover::before,
a:hover::before {
	height: 100%;
}

#navigation ul li a,
footer,
main {
	position: relative;

	width: 100%;
}

main {
	z-index: 2;

	display: -webkit-box;
	display: flexbox;
	display: flex;
	flex-direction: column;

	min-height: 100%;
	margin: 0 auto 3em;

	color: #320aeb;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
}

.content-wrapper {
	width: auto;
	max-width: 50em;
	margin: 10vh 20px 2em 20vw;
}

.text {
	padding: 0 20px;
}

.banner-image {
	position: relative;
	z-index: 0;
	top: 0;

	width: 100%;
	padding-bottom: 80vh;

	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.about-bubbles,
.big-video {
	position: absolute;
	z-index: 0;
}

.big-video {
	width: 100%;
	height: 56.25vw;
}

.about-bubbles {
	top: 30%;
	left: 50%;

	width: 250px;
	margin-left: -125px;
}

.home #rightside,
.risdgi #rightside {
	display: inline-block;
}

#content {
	float: none;
	flex: 1;

	width: 100%;
	margin: -3.5em auto 1.5em;

	text-align: center;
	-webkit-box-flex: 1;
}

#content p,
#rightside h3 {
	margin-top: 10px;
}

#content ul {
	margin: 15px 0 0 20px;
}

#content ul li {
	margin-bottom: 5px;
}

#content > * {
	vertical-align: top;
}

#leftside,
#rightside {
	display: inline-block;

	width: calc(2 / 3 * 100%);
	max-width: 630px;
	margin: 0 20px 0 0;
	padding: 1.5em;

	text-align: center;

	background: #fff;
}

#rightside {
	display: none;

	width: calc(1 / 3 * 100% - 20px);
	margin: 0;
}

#rightside h3 {
	font-weight: 400;

	margin-bottom: 10px;
	padding-bottom: 4px;

	color: #320aeb;
}

#rightside p + h3 {
	margin-top: 30px;
}

#rightside p {
	font-size: 11pt;
}

#rightside ul {
	font-size: 12pt;

	margin-top: 0;
	margin-left: 0;
	padding: 0;
}

#rightside ul li {
	margin-bottom: 4px;

	list-style-type: none;
}

#rightside ul li a,
.mini_cal_nav a:hover {
	text-decoration: none;
}

.fb-page {
	float: none;

	width: 100%;
	margin: auto;
}

footer {
	z-index: 500;

	float: left;
	overflow: hidden;

	background: #fff;
}

.footer,
.footer #text {
	margin: 0 auto;

	color: #320aeb;
}

.footer {
	font-size: 9pt;

	width: 100%;
	padding: 0 3.25vw 10rem;

	text-align: left;
}

.footer #text {
	line-height: 1.5em;
}

.footer .cont1-3,
.footer h5 {
	font-size: 1em;

	display: inline-block;
}

.footer h5 {
	font-weight: 700;

	margin: 0;
}

.footer .cont1-3 {
	width: calc(100% / 3 - 8px);
	margin: 0 4px;
	padding-top: 10px;

	color: #320aeb;
	border-top: 2px solid;
}

.footer .cont1-3:first-of-type {
	margin-left: 0;
}

.footer .cont1-3:last-of-type {
	margin-right: 0;
}

.mini_calendar {
	font-family: inherit;

	text-align: left;
}

.mini_calendar thead {
	background-color: #320aeb;
}

.mini_calendar .today,
a.dialog_close {
	font-weight: 900;

	border: 2px solid #1e0aff;
}

#module_contact .pod-header {
	display: none;
}

.mini_calendar .day_with_events {
	font-weight: 900;

	color: #fff;
	background: #1e0aff;
}

.mini_calendar .day_with_events:hover {
	color: #fff;
	background: #fc9155;
}

a.dialog_close {
	font-size: 0.9rem;

	position: fixed;
	top: 0;
	right: 26px;

	width: auto;

	text-transform: uppercase;

	color: #fff;
	border: 0;
}

.dialog_title {
	width: 100%;
	padding: 14px 0 0 !important;
}

#day_popup_box_wrapper,
#event_popup_box_wrapper {
	top: 0;
	bottom: 0;
	left: 0;

	width: 100%;
	margin: 0;

	color: #fff;
	background: rgb(242 101 41 / 75%);
}

#day_popup_box_wrapper #day_popup_box,
#event_popup_box_wrapper #event_popup_box {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;

	overflow: scroll;

	width: 100%;
	max-height: 100%;
	padding-top: 30px;
	animation: slidein 600ms cubic-bezier(0.87, -0.41, 0.19, 1.44);

	border-width: 0 15px;
	border-style: double;
	border-color: #fff;
	background-image: linear-gradient(
		-45deg,
		#f26529 25%,
		transparent 25%,
		transparent 50%,
		#f26529 50%,
		#f26529 75%,
		transparent 75%,
		transparent
	);
	background-attachment: fixed;
	background-size: 6px 6px;
	-webkit-overflow-scrolling: touch;
}

.event_details {
	font-size: 14pt;

	padding-top: 10px;
}

#cal_days_events .cal_event {
	width: 100%;
	padding: 4px 0;
}

#event_popup_box .mini-box-body {
	max-width: 100%;

	background: 0 0;
}

#day_popup_box > table,
#event_popup_box > table {
	width: 80%;
	margin: auto;
}

.mini-box-body .pod_header {
	margin: 0;

	border-bottom: 10px double #fff;
}

.gridded-table td {
	border: none;
}

.mini-box-body {
	padding: 0 20px;

	border: 0;
	border-radius: 0;
	background: 0 0;
}

#cal_days_events .cal_event a {
	font-size: 1em;

	color: #fff;
}

.cal_event {
	font-size: inherit;
}

div#cal_days_events {
	overflow-x: scroll;

	height: auto;
	-webkit-overflow-scrolling: touch;
}

.next_month a,
.prev_month a {
	font-size: 0.933em;
	font-weight: 700;

	position: relative;
	z-index: 10;

	padding: 0.25em 0.3em;

	text-transform: uppercase;

	color: #fff;
	border: none;
	background: #280aeb;
}

.prev_month a {
	margin-left: -13px;
}

.next_month a {
	margin-right: -13px;
}

@keyframes slidein {
	0% {
		height: 0;
		margin-top: 100vh;
	}

	100% {
		height: 100%;
		margin-top: 0;
	}
}

@keyframes slidein {
	0% {
		height: 0;
		margin-top: 100vh;
	}

	100% {
		height: 100%;
		margin-top: 0;
	}
}

/*! responsive-nav.js 1.0.39 by @viljamis */
#toggle,
#toggle::after,
#toggle::before,
.scroll #toggle::after,
.scroll #toggle::before {
	width: 30px;

	content: " ";
	transition: top, right, -webkit-transform;
	transition: top, right, transform;
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
	transition-duration: 400ms;
}

#toggle {
	position: fixed;
	z-index: 9999;
	top: 60px;
	right: 10vw;

	display: none;

	height: 30px;
	padding: 0;
	user-select: none;
	-webkit-tap-highlight-color: rgb(0 0 0 / 0%);
	-webkit-touch-callout: none;
}

#toggle:hover,
.scroll #toggle:hover {
	cursor: pointer;
}

#toggle::after,
#toggle::before,
.scroll #toggle::after,
.scroll #toggle::before {
	position: absolute;
	top: 10px;
	right: 0;

	display: block;

	height: 4px;
	transform-origin: center;

	background: #f26529;
}

#toggle::after,
.scroll #toggle::after {
	top: 20px;
}

#toggle.active::before,
.scroll #toggle.active::before {
	top: 15px;
	transform: rotate(45deg);
}

#toggle.active,
#toggle.active::after,
#toggle.active::before,
.scroll #toggle.active,
.scroll #toggle.active::after,
.scroll #toggle.active::before {
	transition: top, right, -webkit-transform;
	transition: top, right, transform;
	transition-timing-function: cubic-bezier(1, 0, 0, 1);
	transition-duration: 400ms;
}

#toggle.active::after,
.scroll #toggle.active::after {
	top: 15px;
	transform: rotate(-45deg);
}

#toggle.active,
.scroll #toggle.active {
	top: 25px;
	right: calc(50% - 15px);
}

ul.nav-collapse {
	margin: 0;
	padding: 0;

	list-style: none;
}

.nav-collapse li,
ul.nav-collapse {
	display: block;

	width: 100%;
}

.js .nav-collapse {
	position: absolute;

	display: block;
	overflow: hidden;
	clip: rect(0 0 0 0);
	zoom: 1;

	max-height: 0;
}

.nav-collapse.opened {
	max-height: 9999px;
}

form * {
	border-radius: none;
	outline: none;
	appearance: none;
}

form input {
	font-family: inherit;
	font-size: 1em;
	transition: 300ms width;
	transition-timing-function: cubic-bezier(0.87, -0.41, 0.19, 1.44);

	background: #fff;
}

form input:invalid {
	transition: 300ms background;
	transition-timing-function: cubic-bezier(0.87, -0.41, 0.19, 1.44);

	background: rgb(238 46 80 / 70%);
}

form input:valid {
	transition: 300ms background;
	transition-timing-function: cubic-bezier(0.87, -0.41, 0.19, 1.44);

	background: #fff;
}

a.button,
a.button:hover,
form button,
form button:hover,
form input[type="button"],
form input[type="button"]:hover,
form input[type="submit"],
form input[type="submit"]:hover {
	transition: 300ms background;
	transition-timing-function: cubic-bezier(0.87, -0.41, 0.19, 1.44);

	color: #fff;
	border: none;
	border-radius: 0;
}

a.button,
form button,
form input[type="button"],
form input[type="submit"] {
	font-size: 1em;
	font-weight: 900;

	display: inline-block;
	float: none;

	margin-bottom: 10px;
	padding: 0.5em 0.75em;

	cursor: pointer;
	text-transform: uppercase;

	background: #320aeb;
	appearance: none;
}

a.button:hover,
form button:hover,
form input[type="button"]:hover,
form input[type="submit"]:hover {
	background: #fc9155;
}

form input:not([type="submit"], [type="button"]),
form textarea {
	font-size: 1em;

	min-width: 50%;
	padding: 5px 8px;
	transition: 300ms width cubic-bezier(0.87, -0.41, 0.19, 1.44),
		250ms border-color cubic-bezier(0.87, -0.41, 0.19, 1.44);

	border-width: 0 0 2px;
	border-style: solid;
	border-color: #320aeb;
	border-radius: 0;
	appearance: none;
}

input:not([type="submit"], [type="button"]):focus,
textarea:focus {
	width: 75%;
	transition: 250ms width cubic-bezier(0.87, -0.41, 0.19, 1.44),
		250ms border-color cubic-bezier(0.87, -0.41, 0.19, 1.44);

	border-color: #320aeb;
	outline: none;
}

form select {
	font-family: inherit;
	font-size: 1em;

	padding: 0.5em 1.75em 0.5em 0.75em;

	cursor: pointer;

	color: #333;
	border: none;
	border-radius: 0;
	background: url("http://os_extranet_files_test.s3.amazonaws.com/28924_85309_arrowplain.svg")
		#bfb3ff;
	background-repeat: no-repeat;
	background-position: 95% center;
	background-size: 1em auto;
}

#calendar_controls {
	font-size: 65%;
}

table#cal_table {
	border-spacing: 4px;
	border-collapse: separate;
}

#cal_table td .cal_weekday a,
.cal_event {
	color: #320aeb;
	border: 0;
}

#module_calendar h4 {
	width: 50%;
	padding: 0.3em;
}

#calendar_category {
	width: 100%;
	padding: 0.4em 0;

	text-align: center;
}

#calendar_category label {
	font-size: 1rem;
}

#calendar_category select {
	width: 100px;
}

#cal_table td.cal_not_month .cal_weekday,
#cal_table td.cal_today .cal_weekday,
#cal_table td:hover .cal_weekday,
#cal_table td:hover a,
#cal_table td:hover a:hover,
#cal_table td:hover span,
h3.dialog_title {
	color: #fff;
}

#event_popup_box .cal_event_description {
	max-height: none;

	border-bottom: 2px solid rgb(255 255 255 / 50%);
}

#event_popup_box_wrapper {
	z-index: 900;
}

#cal_table a {
	border: none;
}

#cal_table .cal_days_title th,
#cal_table td {
	color: #320aeb;
}

#cal_table .cal_days_title th,
#cal_table td,
#cal_table td.cal_not_month,
#cal_table td:hover {
	text-align: left;

	border: 0;
	border-bottom: 2px solid #320aeb;
}

#cal_table td.cal_not_month {
	color: #320aeb;
}

#cal_days_events tr {
	border-bottom: 2px solid rgb(255 255 255 / 30%);
}

#cal_table td .cal_weekday {
	font-size: 0.933 em;

	text-align: left;

	color: #320aeb;
}

#cal_table td:hover,
.pod-header {
	color: #fff !important;
	background: #320aeb !important;
}

#cal_table td {
	width: calc(100% / 7);
}

#cal_table td.cal_not_month {
	background-color: none;
	background-image: linear-gradient(
		-45deg,
		#320aeb 25%,
		transparent 25%,
		transparent 50%,
		#320aeb 50%,
		#320aeb 75%,
		transparent 75%,
		transparent
	);
	background-size: 3px 3px;
}

#cal_table td.cal_today {
	border: 0;
	background: #320aeb;
}

#cal_table td .cal_weekday a,
#module_events {
	text-align: left;
}

.pod-header {
	margin-bottom: 1em;

	border-radius: 0;
}

iframe.drive {
	overflow: scroll;

	width: 100%;
	height: 50vh;

	border: none;
}

.flash_error {
	font-weight: 700;

	position: fixed;
	z-index: 999;
	top: 2%;
	left: 10%;

	width: 80%;
	padding: 10px;

	text-align: left;

	color: #fff;
	background: #320aeb;
}

.risd {
	position: absolute;
	z-index: 2;
	right: 5%;
	bottom: 5vh;

	width: 4em;

	text-align: right;
	pointer-events: none;

	border: none;
}

.risd object {
	width: 100%;
	height: auto;

	-webkit-pointer-events: none;
	pointer-events: none;
}

.risd,
.visible {
	display: block;
}

.invisible {
	display: none;
}

@keyframes barberpole {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 6px 12px;
	}
}

@keyframes barberpole {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 6px 12px;
	}
}
